iT邦幫忙

2024 iThome 鐵人賽

0
自我挑戰組

C++自學系列 第 27

Day 27 STL佚代器與演算法(尋訪與操作容器)

  • 分享至 

  • xImage
  •  

STL佚代器與演算法(尋訪與操作容器)
佚代器:迭代器是一種對象,提供了一種方法來順序訪問容器中的元素,而無需知道容器的內部結構,迭代器可以看作是一種通用指針,用於訪問和操作容器中的元素

迭代器的種類:
1.輸入迭代器(Input Iterator):只能讀取容器中的元素,從前向後單向訪問
2.輸出迭代器(Output Iterator):只能寫入容器中的元素,從前向後單向訪問
3.前向迭代器(Forward Iterator):支持單向遍歷容器,可以讀取也可以寫入元素
4.雙向迭代器(Bidirectional Iterator):支持雙向遍歷容器,可以讀取也可以寫入元素
5.隨機訪問迭代器(Random Access Iterator):可以向指針一樣隨機訪問容器中的元素,支持所有指針運算

常用迭代器操作:
begin():返回指向容器第一個元素
end():返回指向容器末尾
++:移動到下一個元素
_ _:移動到前一個元素
*:解引用迭代器,獲取當前迭代器所指的元素

STL演篹法:
STL 提供了一系列通用演算法,用於在容器上執行各種操作,如查找、排序、刪除和變換元素。這些演算法通常以迭代器作為參數來操作容器中的元素

常用的STL演算法:
1.尋訪演算法:
find:在區間內查找元素
count:計算某元素在區間中出現的次數
2.修改演算法:
sort:對容器中的元素進行排序
reverse:反轉區間內的元素
fill:將指定區間內的元素填充為某值
copy:將一個範圍的元素複製到另一範圍
3.移動予刪除演算法:
remove:刪除指定的元素
unique:移除連續的重複元素。
4.數學演算法:
accumulate:計算區間內元素的總和
inner_produce:計算兩個區間內的內積

總結:
1.STL 迭代器是用來遍歷容器的工具,提供了一種通用的方法來操作不同類型的容器
2.STL 演算法是通用操作,這些操作使用迭代器來遍歷和修改容器的內容,無需了解容器的具體類型
3.迭代器與演算法結合,允許我們靈活、高效地操作各種 STL 容器,實現代碼的可重用性和可維護性


上一篇
Day 26 STL容器(set, map, unordered_set, unordered_map)
下一篇
Day 28 STL演算法應用(排序、搜尋、轉換)
系列文
C++自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言